// #include <iostream>
// #include <vector>
// #include <algorithm>
// using namespace std;
// int Max = 0;
// vector<int> visit(100100); 
// vector<vector<int>> a(100100);
// void dfs(int x) {
//     Max = max(x, Max);
//     visit[x] = 1;
//     for(auto& s : a[x]) {
//         if(!visit[s]) {
//             dfs(s);
//         }
//     }
// }
// int main() {
//     int n, m;
//     cin >> n >> m;
//     for(int i = 0; i < m; i++) {
//         int x, y;
//         cin >> x >> y;
//         a[x].push_back(y);
//     }
//     for(int i = 1; i <= n; i++) {
//         dfs(i);
//         cout << Max << " ";
//         Max = 0;
//         fill(visit.begin(), visit.end(), 0);
//     }
//     return 0;
// }

// #include <iostream>
// #include <vector>
// #include <algorithm>
// using namespace std;
// int Max = 0;
// vector<int> visit(100100); 
// vector<vector<int>> a(100100);
// void dfs(int x) {
//     Max = max(x, Max);
//     visit[x] = 1;
//     for(auto& s : a[x]) {
//         if(!visit[s]) {
//             dfs(s);
//         }
//     }
// }
// int main() {
//     int n, m;
//     cin >> n >> m;
//     for(int i = 0; i < m; i++) {
//         int x, y;
//         cin >> x >> y;
//         a[x].push_back(y);
//     }
//     for(int i = 1; i <= n; i++) {
//         dfs(i);
//         cout << Max << " ";
//         Max = 0;
//         fill(visit.begin(), visit.end(), 0);
//     }
//     return 0;
// }


#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> a(100100);
vector<bool> visit(100100);
vector<int> ans(100100);
void dfs(int x, int y) {
    if(visit[x]) {
        return;
    }
    visit[x] = true;
    ans[x] = y;
    for(int s : a[x]) {
        if(!visit[s]) {
            dfs(s, y);
        }
    }
}
int main() {
    int n, m;
    cin >> n >> m;
    for(int i = 0; i < m; i++) {
        int x, y;
        cin >> x >> y;
        a[y].push_back(x);
    }
    for(int i = n; i >= 1; i--) {
        if(!visit[i]) {
            dfs(i, i);
        }
    }
    for(int i = 1; i <= n; i++) {
        cout << ans[i] << " ";
    }
    return 0;
}